相关疑难解决方法(0)

如何用csv.DictWriter编写标题行?

假设我有一个csv.DictReader对象,我想把它写成CSV文件.我怎样才能做到这一点?

我知道我可以像这样编写数据行:

dr = csv.DictReader(open(f), delimiter='\t')
# process my dr object
# ...
# write out object
output = csv.DictWriter(open(f2, 'w'), delimiter='\t')
for item in dr:
    output.writerow(item)
Run Code Online (Sandbox Code Playgroud)

但是我如何包含字段名?

python csv

107
推荐指数
3
解决办法
13万
查看次数

保留Python Pandas DataFrame中的列顺序

有没有办法在读取和使用Python Pandas写入时保留csv文件中列的顺序?例如,在此代码中

import pandas as pd

data = pd.read_csv(filename)
data.to_csv(filename)
Run Code Online (Sandbox Code Playgroud)

输出文件可能不同,因为不保留列.

python pandas

36
推荐指数
3
解决办法
5万
查看次数

理解python中的csv DictWriter语法

我正在寻找对前一个SO问题的非常有用的答案,在尝试将一个dicts列表写入CSV文件时可以在这里找到.我使用的代码是:

with open((filename), 'wb') as outfile:
    write = csv.DictWriter(outfile, keyList)
    write.writer.writerow(keyList)
    write.writerows(data)
Run Code Online (Sandbox Code Playgroud)

其中keyList是csv文件的标头列表.

代码工作得很好,这很好,但我不明白为什么我必须writer明确地调用底层实例来编写keyList(头文件).我尝试过那条线write.writerow(keyList),但它不起作用.我很好奇为什么会这样,我可以更好地理解Python的DictWriter是如何工作的.

是否有更清洁/更好的写作方式?

python csv

6
推荐指数
1
解决办法
3037
查看次数

CSV列表列表

我知道我可以直接写一个字典列表到CSV文件.同样,有没有直接的方法将字典列表列表写入python中的csv文件,而无需手动迭代每一行?

样本数据

[[{'e': 46, 'p': 100, 'n': 0, 'a': 100, ...}, 
  {'e': 29, 'p': 40, 'n': 1, 'a': 40, ...}, ...],
 [{...}, ...]
Run Code Online (Sandbox Code Playgroud)

预期的格式

e,p,n,a,....
46,100,0,100,....
29,40,1,40,...
.......
Run Code Online (Sandbox Code Playgroud)

请注意,这不是字典列表,而是字典列表的列表

python csv dictionary

3
推荐指数
1
解决办法
188
查看次数

将具有不匹配键的字典列表转储到 csv 文件中

这里询问如何将字典列表(具有匹配的键)转储到 csv 文件中。

我的问题是类似的,但是我假设字典不一定匹配键:在这种情况下,我希望该单元格没有值(或分配 None/0/..)。下面举例。

  • csv 模块中是否有允许我执行此操作的实用程序?
  • 在肯定的情况下,我该怎么做?
  • 在否定的情况下,我是否应该收集所有键,然后浏览所有字典并将缺失键的值设置为 None/0/...?

例子

to_csv = [{'name':'bob','age':25,'weight':200, 'height':181},
          {'name':'jim','age':31,'weight':180}]
Run Code Online (Sandbox Code Playgroud)

应该变成:

name,age,weight,height
bob,25,200,181
jim,31,180,None
Run Code Online (Sandbox Code Playgroud)

python csv dictionary

2
推荐指数
1
解决办法
316
查看次数

使用 pandas 将 JSON 转换为 CSV

我有一个 JSON 文件,其中包含超过 46k 条英语和其他语言的推文,我想将其保存为 csv 文件。以下是 json 文件的一部分。

\n\n
    [{"user_id": 938118866135343104, "date_time": "03/20/2018 18:38:35", "tweet_content": "RT @PTISPOfficial: \xd9\xbe\xd8\xa7\xda\xa9\xd8\xb3\xd8\xaa\xd8\xa7\xd9\x86 \xd8\xaa\xd8\xad\xd8\xb1\xdb\x8c\xda\xa9 \xd8\xa7\xd9\x86\xd8\xb5\xd8\xa7\xd9\x81 \xda\xa9\xdb\x92 \xd9\x88\xd8\xa7\xd8\xa6\xd8\xb3 \xda\x86\xdb\x8c\xd8\xa6\xd8\xb1\xd9\x85\xdb\x8c\xd9\x86 \xd8\xb4\xd8\xa7\xdb\x81 \xd9\x85\xd8\xad\xd9\x85\xd9\x88\xd8\xaf \xd9\x82\xd8\xb1\xdb\x8c\xd8\xb4\xdb\x8c  \xd8\xa8\xd8\xba\xdb\x8c\xd8\xb1 \xda\xa9\xd8\xb3\xdb\x8c \xd9\xbe\xd8\xb1\xd9\x88\xd9\xb9\xd9\x88\xda\xa9\xd9\x88\xd9\x84 \xda\xa9\xdb\x92 \xd9\xbe\xd8\xa7\xda\xa9\xd8\xb3\xd8\xaa\xd8\xa7\xd9\x86 \xd8\xb3\xd9\xbe\xd8\xb1 \xd9\x84\xdb\x8c\xda\xaf \xda\xa9\xd8\xa7 \xd9\x85\xdb\x8c\xda\x86 \xd8\xaf\xdb\x8c\xda\xa9\xda\xbe\xd9\x86\xdb\x92 \xda\xa9\xdb\x92 \xd9\x84\xd8\xa6\xdb\x92 \xd8\xa7\xd8\xb3\xd9\xb9\xdb\x8c\xda\x88\xdb\x8c\xd9\x85 \xd9\x85\xe2\x80\xa6", "tweet_id": 976166125502427136}\n{"user_id": 959235642, "date_time": "03/20/2018 18:38:35", "tweet_content": "At last, Pakistan Have Witnessed The Most Thrilling Match Of Cricket In Pakistan, The Home. \\n\\n#PZvQG \\n#ABC", "tweet_id": 976166125535973378}\n{"user_id": 395163528, "date_time": "03/20/2018 18:38:35", "tweet_content": "RT @thePSLt20: SIX! 19.4 Liam Dawson to Anwar …
Run Code Online (Sandbox Code Playgroud)

python csv json python-3.x pandas

0
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×6

csv ×5

dictionary ×2

pandas ×2

json ×1

python-3.x ×1