gpt4 book ai didi

python - 将包含 utf-8 文本和 URL 的文本列导出 Pandas 数据框到 Excel

转载 作者:太空狗 更新时间:2023-10-30 02:58:29 26 4
gpt4 key购买 nike

我的 Pandas 数据框包含推文和每条推文的元数据(300.000 行)。我的一些同事需要在 Excel 中处理这些数据,这就是我需要将其导出的原因。

我想使用 Pandas 提供的 .to_csv.to_excel 但我无法使其正常工作。

当我使用 .to_csv 时,我的问题是它在数据框的文本部分一直失败。我玩过不同的分隔符,但文件从未 100% 对齐。文本列似乎包含制表符、管道字符等,这会混淆 Excel。

df.to_csv('test.csv', sep='\t', encoding='utf-8')

当我尝试将 .to_excelxlsxwriter 引擎一起使用时,我遇到了一个不同的问题,即我的文本列包含许多 URL(我思考)。 xlswriter 尝试为这些 URL 创建特殊的可点击链接,而不是仅仅将它们作为字符串处理。我找到了一些关于如何规避此问题的信息,但同样,我无法让它发挥作用。

应该使用以下代码来禁用我认为会引起问题的函数:

workbook = xlsxwriter.Workbook(filename, {'strings_to_urls': False})

但是,在使用 to_excel 时,我似乎无法在将数据框加载到 Excel 文件之前调整 Workbook 对象的此设置。

简而言之,我如何将包含大量不同文本的列从 Pandas 数据框中导出为 Excel 可以理解的内容?

编辑:示例:

@geertwilderspvv @telegraaf ach Wilders toch, nep-voorzitter van een nep-partij met maar één lid, \nzeur niet over nep-premier of parlement!

所以在这种情况下显然是我的数据的线制动器。我将尝试找到更多示例。

编辑2:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error047600_01.xml</logFileName><summary>Er zijn fouten aangetroffen in bestand C:\Users\Guy Mahieu\Desktop\Vu ipython notebook\pandas_simple.xlsx</summary><removedRecords summary="Hier volgt een lijst van verwijderde records:"><removedRecord>Verwijderde records: Formule van het onderdeel /xl/worksheets/sheet1.xml</removedRecord></removedRecords></recoveryLog>

荷兰语的翻译:

在"file"中发现错误。以下是已删除记录的列表:已删除记录:/xl/worksheets/sheet1.xml 部分的公式

最佳答案

我认为目前无法通过 Pandas API 传递 XlsxWriter 构造函数选项,但您可以解决 strings_to_url 问题,如下所示:

import pandas as pd

df = pd.DataFrame({'Data': ['http://python.org']})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')

# Don't convert url-like strings to urls.
writer.book.strings_to_urls = False

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')

# Close the Pandas Excel writer and output the Excel file.
writer.save()

更新:在最新版本的 Pandas 中,您可以将 XlsxWriter 构造函数选项直接传递给 ExcelWriter(),而无需设置 writer.book.strings_to_urls 间接地:

writer = pd.ExcelWriter('pandas_simple.xlsx', 
engine='xlsxwriter',
options={'strings_to_urls': False})

关于python - 将包含 utf-8 文本和 URL 的文本列导出 Pandas 数据框到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33875238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com