python文件运行一段时间后失效_python – 一段时间后无法连续保存和更新.CSV文件...

我有一个小程序,每个小步骤从两个设备读取值,然后将其保存到.csv文件.我希望在每个点的每个集合之后更新和保存文件,以便在PC崩溃或发生其他问题时不会发生数据丢失.为此,我打开文件(ab模式),使用写行并在循环中关闭文件.收集之间的时间约为1分钟.这很安静,但问题是在数据收集5-6小时后,它停止保存到.csv文件,并且没有出现任何错误,代码继续运行,图表正在更新,没有发生任何事情,但打开.csv文件显示数据丢失.我想知道我使用的代码是否有问题.我也不应该从这个运行一个子进程来进行实时绘图,但我不认为它会导致问题…我也添加了这些代码行.

##Initial file declaration and header

with open(filename,'wb') as wdata:

savefile=csv.writer(wdata,dialect='excel')

savefile.writerow(['System time','Time from Start(s)','Weight(g)','uS/cm','uS','Measured degC','%/C','Ideal degC','/cm'])

##Open Plotting Subprocess

draw=subprocess.Popen('TriPlot.py',shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)

##data collection loop

while True:

Collect Data x and y

Waits for data about 60 seconds, no sleep or pause commoand used, pyserial inteface is used.

## Send Data to subprocess

draw.stdin.write('%d\n' % tnow)

draw.stdin.write('%d\n' % s_w)

draw.stdin.write('%d\n' % tnow)

draw.stdin.write('%d\n' % float(s_c[5]))

##Saving data Section

wdata=open(filename,'ab')

savefile=csv.writer(wdata,dialect='excel')

savefile.writerow([tcurrent,tnow,s_w,s_c[5],s_c[7],s_c[9],s_c[11],s_c[13],s_c[15]])

wdata.close()

P.S此代码使用以下包来显示未显示的代码. pyserial,csv,os,subprocess,tkinter,string,numpy,time和wx.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,要创建一个 Python 爬虫,你需要安装一些必要的库,如 requests,BeautifulSoup 和 Pandas。然后,你可以创建一个爬虫函数,使用 requests 库获取页面的 HTML 源代码,然后使用 BeautifulSoup 库解析页面,获取所需的信息,并将结果存储在 Pandas 数据框中。最后,使用 Pandas 的 to_csv() 方法将结果保存CSV 文件中。 ### 回答2: 当然可以帮您生成一个Python爬虫代码来浏览知乎上的浏览量,并将结果保存CSV文件中。以下是一个简单的示例代码: ```python import requests import csv def get_views(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36' } response = requests.get(url, headers=headers) data = response.json() view_count = data['data']['target']['view_count'] return view_count def save_to_csv(data, filename): with open(filename, 'w', newline='', encoding='utf-8') as csvfile: writer = csv.writer(csvfile) writer.writerow(['URL', '浏览量']) for url, views in data.items(): writer.writerow([url, views]) if __name__ == '__main__': urls = [ 'https://www.zhihu.com/api/v4/questions/123456789', 'https://www.zhihu.com/api/v4/questions/987654321', 'https://www.zhihu.com/api/v4/questions/abcdefg' ] views_data = {} for url in urls: views = get_views(url) views_data[url] = views save_to_csv(views_data, 'zhihu_views.csv') ``` 请注意替换示例中的`urls`列表,将其中的URL替换为您想要获取浏览量的知乎页面的API链接。然后,运行代码将会发送API请求获取浏览量数据,并将结果保存在名为`zhihu_views.csv`的CSV文件中。每一行将包含URL和其对应的浏览量。 请注意,此代码仅适用于知乎的API,并且可能随时因为知乎页面结构或API的变化而失效。如果出现问题,请确保更新代码以适应最新的页面结构和API。 ### 回答3: import requests import csv def crawl_zhihu(): url = "https://www.zhihu.com/" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" } response = requests.get(url, headers=headers) view_count = response.json()["view_count"] return view_count def save_to_csv(view_count): with open("zhihu_view.csv", "w", newline="") as file: writer = csv.writer(file) writer.writerow(["浏览量"]) writer.writerow([view_count]) if __name__ == "__main__": view_count = crawl_zhihu() save_to_csv(view_count) print("浏览量已保存到zhihu_view.csv文件中。")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值