python - 将列数据从 csv 写入文本文件中的行/行
问题描述
我正在使用脚本读取 .csv 文件,读取特定列并将其写入 txt 文件,问题是,提取的数据以这种形式写入列中:
primary_channel
2
1
0
0
2
0
1
2
1
我需要它在一行中,像这样:
2,1,0,0,2,0,1,2,1
我的代码是下一个,
import sys
import csv
import copy
import os
import random
import fileinput
import sys, glob
from io import StringIO
from collections import OrderedDict
import sys
#scriptname,f1name,f2name=sys.argv
fieldnames=['node_code;node_type;wlan_code;destination_id;x(m);y(m);z(m);primary_channel;min_channel_allowed;max_channel_allowed;cw;cw_stage;tpc_min(dBm);tpc_default(dBm);tpc_max(dBm);cca_min(dBm);cca_default(dBm);cca_max(dBm);tx_antenna_gain;rx_antenna_gain;channel_bonding_model;modulation_default;central_freq (GHz);lambda;ieee_protocol;traffic_load(pkts/s)']
main={}
with open('nodos_cambiados_1.csv','r') as infile,open('lista.txt','w') as outfile:
reader = csv.DictReader(infile,delimiter=";" )
writer = csv.DictWriter(outfile,fieldnames=['primary_channel'],delimiter=",",extrasaction='ignore')
writer.writeheader()
for row in reader:
next(reader)
for values in row:
if row['node_type']=='0' in row:
main.update({row['primary_channel']:()})
writer.writerow(row)
我将非常感谢你能给我的帮助
解决方案
如果您只想在一行上写数字,使用 DictWriter 似乎过于复杂。我认为这样的事情就足够了:
with open('nodos_cambiados_1.csv','r') as infile,open('lista.txt','w') as outfile:
reader = csv.DictReader(infile,delimiter=';')
outfile.write(','.join(row.get('primary_channel') for row in reader))
推荐阅读
- postgresql - 从我的计算机远程连接到 postgresql 服务器的工作不适用于托管服务提供商的
- java - 在 Java 中解析更复杂的 JSON
- php - 如何配置 .htaccess 规则以允许对特定图形文件的所有用户进行只读访问?
- python - 我如何在没有新行的情况下结束这段代码?
- c++ - Ifstream 无法加载文件并且无法打开
- python - 如何对数据集执行方差分析?
- html - Keep page active on (non default) nav bar whilst using an 'include nav' function
- php - 需要帮助将图案移动到行尾
- r - 用 emmenas 估计事后效应大小
- c - 如何在同一行上同时初始化包含 const char* 的结构和 const char* 本身?